%ifndef __NASMX_WINSPOOL_INC__
%define __NASMX_WINSPOOL_INC__

IMPORT ADVANCEDSETUPDIALOG, 16
IMPORT AbortPrinter, 4
IMPORT AddDriverCatalog, 16
IMPORT AddFormA, 12
IMPORT AddFormW, 12
IMPORT AddJobA, 20
IMPORT AddJobW, 20
IMPORT AddMonitorA, 12
IMPORT AddMonitorW, 12
IMPORT AddPerMachineConnectionA, 16
IMPORT AddPerMachineConnectionW, 16
IMPORT AddPortA, 12
IMPORT AddPortExA, 16
IMPORT AddPortExW, 16
IMPORT AddPortW, 12
IMPORT AddPrintProcessorA, 16
IMPORT AddPrintProcessorW, 16
IMPORT AddPrintProvidorA, 12
IMPORT AddPrintProvidorW, 12
IMPORT AddPrinterA, 12
IMPORT AddPrinterConnectionA, 4
IMPORT AddPrinterConnectionW, 4
IMPORT AddPrinterDriverA, 12
IMPORT AddPrinterDriverExA, 16
IMPORT AddPrinterDriverExW, 16
IMPORT AddPrinterDriverW, 12
IMPORT AddPrinterW, 12
IMPORT AdvancedDocumentPropertiesA, 20
IMPORT AdvancedDocumentPropertiesW, 20
IMPORT AdvancedSetupDialog, 16
IMPORT CallCommonPropertySheetUI, 16
IMPORT ClosePrinter, 4
IMPORT CloseSpoolFileHandle, 8
IMPORT ClusterSplClose, 4
IMPORT ClusterSplIsAlive, 4
IMPORT ClusterSplOpen, 20
IMPORT CommitSpoolData, 12
IMPORT ConfigurePortA, 12
IMPORT ConfigurePortW, 12
IMPORT ConnectToPrinterDlg, 8
IMPORT ConvertAnsiDevModeToUnicodeDevmode, 16
IMPORT ConvertUnicodeDevModeToAnsiDevmode, 16
IMPORT CreatePrinterIC, 8
IMPORT DEVICECAPABILITIES, 20
IMPORT DEVICEMODE, 16
IMPORT DeleteFormA, 8
IMPORT DeleteFormW, 8
IMPORT DeleteMonitorA, 12
IMPORT DeleteMonitorW, 12
IMPORT DeletePerMachineConnectionA, 8
IMPORT DeletePerMachineConnectionW, 8
IMPORT DeletePortA, 12
IMPORT DeletePortW, 12
IMPORT DeletePrintProcessorA, 12
IMPORT DeletePrintProcessorW, 12
IMPORT DeletePrintProvidorA, 12
IMPORT DeletePrintProvidorW, 12
IMPORT DeletePrinter, 4
IMPORT DeletePrinterConnectionA, 4
IMPORT DeletePrinterConnectionW, 4
IMPORT DeletePrinterDataA, 8
IMPORT DeletePrinterDataExA, 12
IMPORT DeletePrinterDataExW, 12
IMPORT DeletePrinterDataW, 8
IMPORT DeletePrinterDriverA, 12
IMPORT DeletePrinterDriverExA, 20
IMPORT DeletePrinterDriverExW, 20
IMPORT DeletePrinterDriverW, 12
IMPORT DeletePrinterIC, 4
IMPORT DeletePrinterKeyA, 8
IMPORT DeletePrinterKeyW, 8
IMPORT DevQueryPrint, 12
IMPORT DevQueryPrintEx, 4
IMPORT DeviceCapabilitiesA, 20
IMPORT DeviceCapabilitiesW, 20
IMPORT DeviceMode, 16
IMPORT DevicePropertySheets, 8
IMPORT DocumentEvent, 28
IMPORT DocumentPropertiesA, 24
IMPORT DocumentPropertiesW, 24
IMPORT DocumentPropertySheets, 8
IMPORT EXTDEVICEMODE, 32
IMPORT EndDocPrinter, 4
IMPORT EndPagePrinter, 4
IMPORT EnumFormsA, 24
IMPORT EnumFormsW, 24
IMPORT EnumJobsA, 32
IMPORT EnumJobsW, 32
IMPORT EnumMonitorsA, 24
IMPORT EnumMonitorsW, 24
IMPORT EnumPerMachineConnectionsA, 20
IMPORT EnumPerMachineConnectionsW, 20
IMPORT EnumPortsA, 24
IMPORT EnumPortsW, 24
IMPORT EnumPrintProcessorDatatypesA, 28
IMPORT EnumPrintProcessorDatatypesW, 28
IMPORT EnumPrintProcessorsA, 28
IMPORT EnumPrintProcessorsW, 28
IMPORT EnumPrinterDataA, 36
IMPORT EnumPrinterDataExA, 24
IMPORT EnumPrinterDataExW, 24
IMPORT EnumPrinterDataW, 36
IMPORT EnumPrinterDriversA, 28
IMPORT EnumPrinterDriversW, 28
IMPORT EnumPrinterKeyA, 20
IMPORT EnumPrinterKeyW, 20
IMPORT EnumPrinterPropertySheets, 16
IMPORT EnumPrintersA, 28
IMPORT EnumPrintersW, 28
IMPORT ExtDeviceMode, 32
IMPORT ExternalConnectToLd64In32Server, 4
IMPORT FindClosePrinterChangeNotification, 4
IMPORT FindFirstPrinterChangeNotification, 16
IMPORT FindNextPrinterChangeNotification, 16
IMPORT FlushPrinter, 20
IMPORT ForceUnloadDriver, 4
IMPORT FreePrinterNotifyInfo, 4
IMPORT GetDefaultPrinterA, 8
IMPORT GetDefaultPrinterW, 8
IMPORT GetFormA, 24
IMPORT GetFormW, 24
IMPORT GetJobA, 24
IMPORT GetJobW, 24
IMPORT GetPrintProcessorDirectoryA, 24
IMPORT GetPrintProcessorDirectoryW, 24
IMPORT GetPrinterA, 20
IMPORT GetPrinterDataA, 24
IMPORT GetPrinterDataExA, 28
IMPORT GetPrinterDataExW, 28
IMPORT GetPrinterDataW, 24
IMPORT GetPrinterDriverA, 24
IMPORT GetPrinterDriverDirectoryA, 24
IMPORT GetPrinterDriverDirectoryW, 24
IMPORT GetPrinterDriverW, 24
IMPORT GetPrinterW, 20
IMPORT GetSpoolFileHandle, 4
IMPORT IsValidDevmodeA, 8
IMPORT IsValidDevmodeW, 8
IMPORT LoadPrinterDriver, 4
IMPORT OpenPrinterA, 12
IMPORT OpenPrinterW, 12
IMPORT PlayGdiScriptOnPrinterIC, 24
IMPORT PrintUICreateInstance, 8
IMPORT PrintUIDocumentDefaults, 16
IMPORT PrintUIDocumentPropertiesWrap, 28
IMPORT PrintUIPrinterPropPages, 16
IMPORT PrintUIPrinterSetup, 24
IMPORT PrintUIQueueCreate, 16
IMPORT PrintUIServerPropPages, 16
IMPORT PrintUIWebPnpEntry, 4
IMPORT PrintUIWebPnpPostEntry, 16
IMPORT PrinterMessageBoxA, 24
IMPORT PrinterMessageBoxW, 24
IMPORT PrinterProperties, 8
IMPORT PublishPrinterA, 24
IMPORT PublishPrinterW, 24
IMPORT QueryColorProfile, 24
IMPORT QueryRemoteFonts, 12
IMPORT QuerySpoolMode, 12
IMPORT ReadPrinter, 16
IMPORT RefCntLoadDriver, 16
IMPORT RefCntUnloadDriver, 8
IMPORT ResetPrinterA, 8
IMPORT ResetPrinterW, 8
IMPORT RouterFreeBidiResponseContainer, 4
IMPORT ScheduleJob, 8
IMPORT SeekPrinter, 24
IMPORT SendRecvBidiData, 16
IMPORT SetAllocFailCount, 20
IMPORT SetDefaultPrinterA, 4
IMPORT SetDefaultPrinterW, 4
IMPORT SetFormA, 16
IMPORT SetFormW, 16
IMPORT SetJobA, 20
IMPORT SetJobW, 20
IMPORT SetPortA, 16
IMPORT SetPortW, 16
IMPORT SetPrinterA, 16
IMPORT SetPrinterDataA, 20
IMPORT SetPrinterDataExA, 24
IMPORT SetPrinterDataExW, 24
IMPORT SetPrinterDataW, 20
IMPORT SetPrinterW, 16
IMPORT SplDriverUnloadComplete, 4
IMPORT SplReadPrinter, 12
IMPORT SpoolerDevQueryPrintW, 20
IMPORT SpoolerInit, 0
IMPORT SpoolerPrinterEvent, 20
IMPORT StartDocDlgA, 8
IMPORT StartDocDlgW, 8
IMPORT StartDocPrinterA, 12
IMPORT StartDocPrinterW, 12
IMPORT StartPagePrinter, 4
IMPORT WaitForPrinterChange, 8
IMPORT WritePrinter, 16
IMPORT XcvDataW, 32

%ifdef UNICODE

%define AddForm AddFormW
%define AddJob AddJobW
%define AddMonitor AddMonitorW
%define AddPerMachineConnection AddPerMachineConnectionW
%define AddPort AddPortW
%define AddPortEx AddPortExW
%define AddPrintProcessor AddPrintProcessorW
%define AddPrintProvidor AddPrintProvidorW
%define AddPrinter AddPrinterW
%define AddPrinterConnection AddPrinterConnectionW
%define AddPrinterDriver AddPrinterDriverW
%define AddPrinterDriverEx AddPrinterDriverExW
%define AdvancedDocumentProperties AdvancedDocumentPropertiesW
%define ConfigurePort ConfigurePortW
%define DeleteForm DeleteFormW
%define DeleteMonitor DeleteMonitorW
%define DeletePerMachineConnection DeletePerMachineConnectionW
%define DeletePort DeletePortW
%define DeletePrintProcessor DeletePrintProcessorW
%define DeletePrintProvidor DeletePrintProvidorW
%define DeletePrinterConnection DeletePrinterConnectionW
%define DeletePrinterData DeletePrinterDataW
%define DeletePrinterDataEx DeletePrinterDataExW
%define DeletePrinterDriver DeletePrinterDriverW
%define DeletePrinterDriverEx DeletePrinterDriverExW
%define DeletePrinterKey DeletePrinterKeyW
%define DeviceCapabilities DeviceCapabilitiesW
%define DocumentProperties DocumentPropertiesW
%define EnumForms EnumFormsW
%define EnumJobs EnumJobsW
%define EnumMonitors EnumMonitorsW
%define EnumPerMachineConnections EnumPerMachineConnectionsW
%define EnumPorts EnumPortsW
%define EnumPrinterData EnumPrinterDataW
%define EnumPrintProcessors EnumPrintProcessorsW
%define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
%define EnumPrinterDataEx EnumPrinterDataExW
%define EnumPrinterDrivers EnumPrinterDriversW
%define EnumPrinterKey EnumPrinterKeyW
%define EnumPrinters EnumPrintersW
%define GetDefaultPrinter GetDefaultPrinterW
%define GetForm GetFormW
%define GetJob GetJobW
%define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
%define GetPrinter GetPrinterW
%define GetPrinterData GetPrinterDataW
%define GetPrinterDataEx GetPrinterDataExW
%define GetPrinterDriver GetPrinterDriverW
%define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
%define IsValidDevmode IsValidDevmodeW
%define OpenPrinter OpenPrinterW
%define PrinterMessageBox PrinterMessageBoxW
%define PublishPrinter PublishPrinterW
%define ResetPrinter ResetPrinterW
%define SetDefaultPrinter SetDefaultPrinterW
%define SetForm SetFormW
%define SetJob SetJobW
%define SetPort SetPortW
%define SetPrinterData SetPrinterDataW
%define SetPrinter SetPrinterW
%define SetPrinterDataEx SetPrinterDataExW
%define StartDocDlg StartDocDlgW
%define StartDocPrinter StartDocPrinterW

%else  ;// ANSI

%define AddForm AddFormA
%define AddJob AddJobA
%define AddMonitor AddMonitorA
%define AddPerMachineConnection AddPerMachineConnectionA
%define AddPort AddPortA
%define AddPortEx AddPortExA
%define AddPrintProcessor AddPrintProcessorA
%define AddPrintProvidor AddPrintProvidorA
%define AddPrinter AddPrinterA
%define AddPrinterConnection AddPrinterConnectionA
%define AddPrinterDriver AddPrinterDriverA
%define AddPrinterDriverEx AddPrinterDriverExA
%define AdvancedDocumentProperties AdvancedDocumentPropertiesA
%define ConfigurePort ConfigurePortA
%define DeleteForm DeleteFormA
%define DeleteMonitor DeleteMonitorA
%define DeletePerMachineConnection DeletePerMachineConnectionA
%define DeletePort DeletePortA
%define DeletePrintProcessor DeletePrintProcessorA
%define DeletePrintProvidor DeletePrintProvidorA
%define DeletePrinterConnection DeletePrinterConnectionA
%define DeletePrinterData DeletePrinterDataA
%define DeletePrinterDataEx DeletePrinterDataExA
%define DeletePrinterDriver DeletePrinterDriverA
%define DeletePrinterDriverEx DeletePrinterDriverExA
%define DeletePrinterKey DeletePrinterKeyA
%define DeviceCapabilities DeviceCapabilitiesA
%define DocumentProperties DocumentPropertiesA
%define EnumForms EnumFormsA
%define EnumJobs EnumJobsA
%define EnumMonitors EnumMonitorsA
%define EnumPerMachineConnections EnumPerMachineConnectionsA
%define EnumPorts EnumPortsA
%define EnumPrinterData EnumPrinterDataA
%define EnumPrintProcessors EnumPrintProcessorsA
%define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
%define EnumPrinterDataEx EnumPrinterDataExA
%define EnumPrinterDrivers EnumPrinterDriversA
%define EnumPrinterKey EnumPrinterKeyA
%define EnumPrinters EnumPrintersA
%define GetDefaultPrinter GetDefaultPrinterA
%define GetForm GetFormA
%define GetJob GetJobA
%define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
%define GetPrinter GetPrinterA
%define GetPrinterData GetPrinterDataA
%define GetPrinterDataEx GetPrinterDataExA
%define GetPrinterDriver GetPrinterDriverA
%define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
%define IsValidDevmode IsValidDevmodeA
%define OpenPrinter OpenPrinterA
%define PrinterMessageBox PrinterMessageBoxA
%define PublishPrinter PublishPrinterA
%define ResetPrinter ResetPrinterA
%define SetDefaultPrinter SetDefaultPrinterA
%define SetForm SetFormA
%define SetJob SetJobA
%define SetPort SetPortA
%define SetPrinterData SetPrinterDataA
%define SetPrinter SetPrinterA
%define SetPrinterDataEx SetPrinterDataExA
%define StartDocDlg StartDocDlgA
%define StartDocPrinter StartDocPrinterA

%endif  ;// UNICODE

%endif  ;// __NASMX_WINSPOOL_INC__